/**
 * Created by Administrator on 2019/5/20/020.
 */
import CZML_Facility from "./../entity/CZML_Facility.js"
import CZML_Moon from "./../entity/CZML_Moon.js"
import CZML_NonAnimatedModel from "./../entity/CZML_NonAnimatedModel.js"
import CZML_NonOrbitObject3DProperty from "./../entity/CZML_NonOrbitObject3DProperty.js"
import CZML_PlaceInOrbitObject from "../entity/CZML_PlaceInOrbitObject.js"
import CZML_SpacecraftAnimatedModel from "./../entity/CZML_SpacecraftAnimatedModel.js"
import CZML_DeleteFacilityByID from "./../entity/CZML_DeleteFacilityByID.js"
import CZML_DeleteObjectByID from "./../entity/CZML_DeleteObjectByID.js"
import CZML_SurfaceMovingObject from "./../entity/CZML_SurfaceMovingObject.js"
class CZML_MODEL_CLASS {
    constructor(viewer) {
        this._viewer = viewer
    }

    CZML_MODEL_AddFacility(id, name, position, ModelVisible, Model3DPath, ModelSize, MarkerVisible,
                           MarkerPath, MaekerPixelSize, MarkerColor, MarkerXOriginPos, MarkerYOriginPos, Distance) {
        const facility = new CZML_Facility(this._viewer, id, name, position, ModelVisible, Model3DPath, ModelSize, MarkerVisible,
            MarkerPath, MaekerPixelSize, MarkerColor, MarkerXOriginPos, MarkerYOriginPos, Distance)
    }

    CZML_MODEL_AddMoon(id, OrbitStartTime, OrbitEndTime, position, imagePath) {
        imagePath = imagePath || "./SampleData/facility.gltf"
        const moon = new CZML_Moon(this._viewer, id, OrbitStartTime, OrbitEndTime, position, imagePath)
    }

    CZML_MODEL_AddNonAnimatedModel(id, name, OrbitStartTime, OrbitEndTime, position, orientation, ModelVisible, Model3DPath, ModelSize,
                                      MarkerVisible, MarkerPath, MaekerPixelSize, MarkerColor, MarkerXOriginPos, MarkerYOriginPos,
                                      OrbitVisible, OrbitLineStyle, OrbitLineWidth, OrbitColor, Distance, ReferenceFrame) {
        const NonAnimatedModel = new CZML_NonAnimatedModel(this._viewer, id, name, OrbitStartTime, OrbitEndTime, position, orientation, ModelVisible, Model3DPath, ModelSize,
            MarkerVisible, MarkerPath, MaekerPixelSize, MarkerColor, MarkerXOriginPos, MarkerYOriginPos,
            OrbitVisible, OrbitLineStyle, OrbitLineWidth, OrbitColor, Distance, ReferenceFrame)
    }

    CZML_MODEL_ModifyNonOrbitObject3DProperty(id, ModelVisible, ModelSize,
                                        MarkerVisible, MarkerPath, MaekerPixelSize, MarkerColor, MarkerXOriginPos, MarkerYOriginPos) {
        const NonOrbitObject3DProperty = new CZML_NonOrbitObject3DProperty(this._viewer, id, ModelVisible, ModelSize,
            MarkerVisible, MarkerPath, MaekerPixelSize, MarkerColor, MarkerXOriginPos, MarkerYOriginPos)
    }

    CZML_MODEL_PlaceInOrbitObject(idOrbit, id, relSecs, name, description, MarkerVisible, MarkerPath, MarkerPixelSize, MarkerColor, MarkerXOriginPos, MarkerYOriginPos) {
        const PlaceInOrbitObject = new CZML_PlaceInOrbitObject(this._viewer, idOrbit, id, relSecs, name, description, MarkerVisible, MarkerPath, MarkerPixelSize, MarkerColor, MarkerXOriginPos, MarkerYOriginPos)
    }

    CZML_MODEL_AddSpacecraftAnimatedModel(id, name, OrbitStartTime, OrbitEndTime, position, orientation, ModelVisible, Model3DPath, ModelSize,
                                          MarkerVisible, MarkerPath, MaekerPixelSize, MarkerColor, MarkerXOriginPos, MarkerYOriginPos,
                                          OrbitVisible, OrbitLineStyle, OrbitLineWidth, OrbitColor, Distance, ReferenceFrame, hiddenTimeSecs, zhengliuzhaoAStartTime, zhengliuzhaoBStartTime,
                                          xin01jiStartTime, xin02jiStartTime, zhutuiAStartTime, zhutuiBStartTime, zhutuiCStartTime, zhutuiDStartTime, shangmianjiStartTime, unBiasedPositionArray, BiasedPositionArray) {
        const SpacecraftAnimatedModel = new CZML_SpacecraftAnimatedModel(this._viewer, id, name, OrbitStartTime, OrbitEndTime, position, orientation, ModelVisible, Model3DPath, ModelSize,
            MarkerVisible, MarkerPath, MaekerPixelSize, MarkerColor, MarkerXOriginPos, MarkerYOriginPos,
            OrbitVisible, OrbitLineStyle, OrbitLineWidth, OrbitColor, Distance, ReferenceFrame, hiddenTimeSecs, zhengliuzhaoAStartTime, zhengliuzhaoBStartTime,
            xin01jiStartTime, xin02jiStartTime, zhutuiAStartTime, zhutuiBStartTime, zhutuiCStartTime, zhutuiDStartTime, shangmianjiStartTime, unBiasedPositionArray, BiasedPositionArray)
    }

    CZML_MODEL_DeleteFacilityByID(id) {
        const DeleteFacility = new CZML_DeleteFacilityByID(this._viewer, id)
    }

    CZML_MODEL_DeleteObjectByID(id) {
        const DeleteObject = new CZML_DeleteObjectByID(this._viewer, id)
    }

    CZML_MODEL_AddSurfaceMovingObject(id, name, OrbitStartTime, OrbitEndTime, position, orientation, ModelVisible, Model3DPath, ModelSize, MarkerVisible, MarkerPath, MaekerPixelSize, MarkerColor, MarkerXOriginPos, MarkerYOriginPos,
                                   OrbitVisible, OrbitLineStyle, OrbitLineWidth, OrbitColor, Distance) {
        const SurfaceMovingObject = new CZML_SurfaceMovingObject(this._viewer, id, name, OrbitStartTime, OrbitEndTime, position, orientation, ModelVisible, Model3DPath, ModelSize, MarkerVisible, MarkerPath, MaekerPixelSize, MarkerColor, MarkerXOriginPos, MarkerYOriginPos,
            OrbitVisible, OrbitLineStyle, OrbitLineWidth, OrbitColor, Distance)
    }
}
export default CZML_MODEL_CLASS


